package figura.personajes;

import java.awt.Canvas;
import java.util.ArrayList;

/**
 * Clase abstracta que representa la generalizacion de un personaje
 * @author jfj
 */
abstract public class Personaje extends Canvas{


    

    public Personaje() {        
        frames = new ArrayList();
        posX = 50.0;
        posY = 300.0;
        aceleracion = 1.0;
    }

    //atributos de movimiento
    private Double velocidad = 0.0;   //al principio es 0 porque esta parado, para modificarlo usaremos la aceleracion
    private Double aceleracion = 1.0;
    private ArrayList frames;
 
    private Double posX = 50.0,posY = 50.0;

    //propiedades del objecto (para calcular la caja contenedora)
    private double alto, ancho;


    public void mueve_izquierda(){
        posX = posX - velocidad;
    }

    public void mueve_derecha(){
        posX = posX + velocidad;
    }

    public void aceleracion(){
        velocidad = velocidad + aceleracion;
    }
    
    public abstract void carga_frames();

    public double getAlto() {
        return alto;
    }

    public void setAlto(double alto) {
        this.alto = alto;
    }

    public double getAncho() {
        return ancho;
    }

    public void setAncho(double ancho) {
        this.ancho = ancho;
    }

    public ArrayList getFrames() {
        return frames;
    }

    public void setFrames(ArrayList frames) {
        this.frames = frames;
    }

    public Double getPosX() {
        return posX;
    }

    public Double getPosY() {
        return posY;
    }

    public void setPosX(Double posX) {
        this.posX =posX;
    }

    public void setPosY(Double posY) {
        this.posY = posY;
    }

    public Double getVelocidad() {
        return velocidad;
    }

    public Double getAceleracion() {
        return aceleracion;
    }

    public void setAceleracion(Double aceleracion) {
        this.aceleracion = aceleracion;
    }

    public void setVelocidad(Double velocidad) {
        this.velocidad = velocidad;
    }

//    public Double getVelocidad() {
//        return velocidad;
//    }

    
    
    

}
